A Safe Aspect-Oriented Programming Support for Component-Oriented Programming
نویسندگان
چکیده
Abstract— In this paper we show that Aspect-Oriented Programming (AOP) can be safely supported by ComponentOriented Programming (COP) by providing a way to control the openness of a component with regards to AOP techniques. Our proposal reconciles the intrusive nature of AOP with the ”black box property” of components in COP. We build a compromise between modularity and openness applying the open modules approach to components. The experiment has been achieved on FAC, our model that unifies the notions of component and aspect. We show that most of open modules principles are directly available within our approach, we then study requirements for others. Once all these principles integrated, we are able to tune the accessibility of the content of a component to AOP during system runtime. Thus, components become grey boxes with dynamic variation points accessible to AOP techniques.
منابع مشابه
Dwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملAspect IPM: Towards an Incremental Process Model Based on AOP for Component-Based Systems
In spite of recent and constant researches in the Component-Based Development area, there is still a lack for patterns, processes and methodologies that effectively support either the development “for reuse” and “with reuse”. This paper presents Aspect IPM, a process model that integrates the concepts of component-based software engineering, frameworks, patterns, non-functional requirements and...
متن کاملDynamically Evolvable Composition of Aspects Based On Relation Model
Current aspect-oriented programming (AOP) enhances maintainability and comprehensibility by modularizing concerns crosscutting multiple components but lacks the support for the hierarchical composition of aspects themselves. On the contrary, black box composition provides simple and safe modularization for its strong information hiding, which is, however, the main obstacle for a black box compo...
متن کاملAspect-Oriented Programming with AspectJ
Software systems can have properties which affect multiple components. Examples of such concerns include debugging and synchronization policies. These cross-cutting concerns are called aspects. Aspects lead to complex systems that are difficult to develop and hard to maintain. The goal of aspect-oriented programming is to support the programmer to separate components and aspects from each other...
متن کاملApplication of Java-based Pointcuts in Aspect Oriented Programming (AOP) for Data Race Detection
Wide applicability of concurrent programming practices in developing various software applications leads to different concurrency errors amongst which data race is the most important. Java provides greatest support for concurrent programming by introducing various concurrency packages. Aspect oriented programming (AOP) is modern programming paradigm facilitating the runtime interception of even...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006